// 引入我们汇总的请求文件，里面包含了很多请求文件，需要找到我们需要的请求文件，再使用请求文件里面的单个请求方法
import axios from "../../http/apis/apis"
export default {
    // 避免命名冲突
    namespaced: true,
    state: {
        // 出租方个人信息
        parkings: [],
        // 存放初始数据量
        currentPage: 1, // 当前页
        pageSize: 5, // 每页显示条数
        total: 0, // 总条数
        lastPage: 0, // 尾页
        // 审核通过的车位数组初始数据
        GroundingParkings: []
    },
    mutations: {
        getParkings(state, parkings) {
            // 把后端出租方个人信息赋值给我们事先准备好的信息模型
            state.parkings = parkings.parkings
            state.lastPage = parkings.pages
            state.total = parkings.total
            state.GroundingParkings = parkings.parkings.filter(item => item.state != 1 && item.state != 3)
        },
        // 改变每页显示条数
        changePageSize(state, val) {
            state.pageSize = val
        },
        // 改变当前页
        clickPage(state, val) {
            state.currentPage = val
        }
    },
    actions: {
        // 获取axios获取的信息
        async getParkings(context, lessorsId) {
            const {
                data
            } = await axios.parkings.getParkings({
                // 把我们需要传给后端的数据放在这里
                currentPage: context.state.currentPage,
                pageSize: context.state.pageSize,
                ...lessorsId
            })
            // console.log(data)
            if (data.status) {
                // 调用mutations的方法
                context.commit('getParkings', data.data)
                return data.data
            }
        },
        // 删除车位
        async deleteParkings(context, Id) {
            // console.log(Id)
            const data = await axios.parkings.deleteParkings(Id)
            // console.log(data)
            return data
        },
        // 修改，先获取要修改的车位信息
        async getParkingsId(context, Id) {
            const data = await axios.parkings.getParkingsId(Id)
            return data.data.rows[0]
        },
        // 确认修改
        async updateParkings(context, updateData) {
            const { data } = await axios.parkings.updateParkings(updateData)
            // console.log(data)
            return data
        },
    }
}